// @flow
import React, { Component } from 'react'
import AgGrid from 'components/AgGrid'
import JobListActions from './JobListActions'
import moment from 'moment'
import { toHHMMSS } from 'store/modules/date'
type Props = {
  data: Array<Object>,
  history: Object
}

type States = {
  columnDefs: Array<Object>
}
class TaskList extends Component {
  props: Props
  state: States
  constructor (props: Props) {
    super(props)
    this.state = {
      columnDefs: [
        {
          headerName: '序号',
          width: 60,
          minWidth: 60,
          cellRenderer: (params) => {
            return parseInt(params.rowIndex) + 1
          },
          cellStyle: {
            padding: '8px'
          }
        },
        {
          headerName: '作业编号',
          field: 'jobId',
          cellStyle: {
            padding: '8px'
          }
        },
        {
          headerName: '项目名称',
          field: 'task.taskName',
          cellStyle: {
            padding: '8px'
          }
        },
        {
          headerName: '启动时间',
          field: 'startTime',
          cellStyle: {
            padding: '8px'
          }
          // cellRenderer: (params) => {
          //   // 后台返回时间格式为2017-09-05T19:24:36.000Z,以utc方式显示
          //   return moment(params.data.startTime).utc().format('YYYY-MM-DD HH:mm:ss')
          // }
        },
        {
          headerName: '结束时间',
          field: 'endTime',
          cellStyle: {
            padding: '8px'
          }
          // cellRenderer: (params) => {
          //   return params.data.status === 'FINISHED' ? moment(params.data.endTime).utc().format('YYYY-MM-DD HH:mm:ss') : ''
          // }
        },
        {
          headerName: '运行时长',
          cellStyle: {
            padding: '8px'
          },
          cellRenderer: (params) => {
            return params.data.status === 'FINISHED' ? toHHMMSS(moment(params.data.endTime).unix() - moment(params.data.startTime).unix()) : ''
          }
        },
        {
          headerName: '运行状态',
          field: 'status',
          cellStyle: {
            padding: '8px'
          }
        },
        {
          headerName: '操作',
          minWidth: 200,
          cellRendererParams: {
            history: this.props.history
          },
          cellRendererFramework: JobListActions,
          cellStyle: {
            padding: '8px',
            'text-align': 'center'
          }
        }
      ]
    }
  }
  render () {
    const { columnDefs } = this.state
    const { data } = this.props
    console.log(data);
    return <AgGrid {...{
      columnDefs,
      rowData: data
    }} />
  }
}

export default TaskList
